package br.edu.fucapi.posgraduacao.poo2.sgr.dao;

import java.io.Serializable;
import java.util.List;

/**
 * @class DAO.java
 * @author Fabio Oliveira
 * @date 14/01/2013
 * @brief Interface utilizada para acesso ao Dao Genérico.
 */

public interface DAO<T, ID extends Serializable> {
	void save(T entity) throws RuntimeException;
	void update(T entity) throws RuntimeException;
	void remove(T entity) throws RuntimeException;
	List<T> find(T entity) throws RuntimeException;	
	List<T> findAll(Class<T> classe) throws RuntimeException;	
	T findById(final T entity, Integer id) throws RuntimeException;
	T findByExemplo(final T entity) throws RuntimeException;

}
